package gui.dialogs;

import gui.DBConnect;

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class letezoFoglalasPanel {
	JDialog ablak;
	JPanel fopanel, idk, listazo;
	JLabel l_foglalasok;
	JLabel l_foglalasid[];
	JTextField foglalasid[];
	JButton szovegmezok, ok;
	JComboBox foglalasszam;
	DBConnect dbc;
	public letezoFoglalasPanel(){

		

		dbc = new DBConnect();
		ablak = new JDialog();
		fopanel = new JPanel();
		listazo = new JPanel();
		fopanel.setLayout(new BorderLayout());
		
		fopanel.add(listazo,BorderLayout.PAGE_START);
		idk = new JPanel();
		l_foglalasok = new JLabel("Foglalásazonosító:");
		szovegmezok = new JButton("Ok");

		ok = new JButton("OK");
		
		foglalasszam = new JComboBox();
		int maxfoglalas= Integer.parseInt(dbc.GetBeallitas("MaxRendelesSzam"));
		for(int i=1;i<=maxfoglalas;i++)
			foglalasszam.addItem(i);
		
		szovegmezok.addActionListener(new ActionListener(){

			@Override
			public void actionPerformed(ActionEvent arg0) {
				// TODO Auto-generated method stub
				
				generateSzovegmezok();
			}
			
		});
		ok.addActionListener(new ActionListener(){

			@Override
			public void actionPerformed(ActionEvent arg0) {
				// TODO Auto-generated method stub
				//foglalás elküldése
				if(!checkSzamoke()){
					return;
				}
				dialogPanels.nyomtatas(getfoglalasID());
				ablak.dispose();
			}
			
		});
		listazo.add(foglalasszam);
		listazo.add(szovegmezok);
		fopanel.add(idk, BorderLayout.CENTER);
		fopanel.add(ok,BorderLayout.PAGE_END);
		ablak.add(fopanel);
		ablak.setVisible(true);
		ablak.setSize(230,300);
	}

	void generateSzovegmezok(){
		foglalasid = new JTextField[(Integer) foglalasszam.getSelectedItem()];
		l_foglalasid = new JLabel[(Integer) foglalasszam.getSelectedItem()];
		idk.removeAll();
		
		idk.setLayout(new GridLayout((Integer) foglalasszam.getSelectedItem(),2));
		for(int i=0;i<(Integer) foglalasszam.getSelectedItem();i++){
			l_foglalasid[i]= new JLabel(Integer.toString(i+1)+":");
			foglalasid[i]= new JTextField(4);
			idk.add(l_foglalasid[i]);
			idk.add(foglalasid[i]);
		
		}
		idk.updateUI();
		ablak.setSize(230,l_foglalasid.length*30+60);
	}
	boolean checkSzamoke(){
		for (int i=0;i<foglalasid.length;i++){
			try{
				Integer.parseInt(foglalasid[i].getText());
				
			}catch (NumberFormatException e){
				JOptionPane.showMessageDialog(ablak,"Hibás formátum! Adjon meg számot","Hiba" ,JOptionPane.ERROR_MESSAGE);
				return false;
			}
		}
		return true;
	}
	int[] getfoglalasID(){
		int []elem = new int[foglalasid.length];
		for(int i=0;i<foglalasid.length;i++){
			
			elem[i]=Integer.parseInt(foglalasid[i].getText());
		}
		return elem;
	}
	
}
